/*
 * @Description:
 * @Author: Guoyh
 * @Date: 2023-11-13 09:21:54
 * @ModifyUser: Guoyh
 * @LastEditTime: 2023-11-14 18:20:53
 * @FilePath: \xr_node_calc\models\ticket.go
 */
package models

// import (
// 	"context"
// 	"strings"
// 	"time"

// 	"gitee.com/haodreams/golib/exception"
// 	"gitee.com/haodreams/golib/logs"
// 	"gitee.com/haodreams/libs/config"
// 	"gitee.com/haodreams/libs/easy"
// 	"gitee.com/haodreams/libs/routine"
// 	"gitee.com/haodreams/op_node/kafka"
// 	"github.com/twmb/franz-go/pkg/kgo"
// )

// type TicketTask struct {
// 	TicketCode       string      `json:"ticketCode"`       //票据编码
// 	FanID            interface{} `json:"fanId"`            //风机ID
// 	InverterID       interface{} `json:"inverterId"`       //逆变器ID
// 	BoxTransformerId interface{} `json:"boxTransformerId"` //箱变ID
// 	PlantID          interface{} `json:"plantId"`          //场站ID
// 	CircuitId        string      `json:"circuitId"`        //集电线ID
// 	TicketType       string      `json:"ticketType"`       //票据类型
// 	WorkType         interface{} `json:"workType"`         //工作类别
// 	IsVoid           interface{} `json:"isVoid"`           //是否作废
// 	RunTaskTime      interface{} `json:"runTaskTime"`      //运行安措执行时间
// 	ReinsTime        interface{} `json:"reinsTime"`        //复役时间
// 	EndWorkTime      interface{} `json:"endWorkTime"`      //逆变器票结束
// 	LicensorStartTm  interface{} `json:"licensorStartTm"`  //批准计划时间

// 	SystemID string `json:"systemId"` //所属系统/所属设备类别
// 	Marking  bool   `json:"marking"`  // 处理标记
// }

// func (m *Boss) dowithTicketTask(TicketTask *TicketTask) (err error) {
// 	sids := strings.Split(TicketTask.CircuitId, ",")
// 	ids := easy.ArrayStringToInt(sids)
// 	if len(ids) == 0 {
// 		return
// 	}
// 	switch TicketTask.TicketType {
// 	case "3", "4":
// 		switch TicketTask.SystemID {
// 		case "2", "8":

// 		}
// 	}
// 	return
// }

// /**
//  * @description: 消费两票kafka数据
//  * @return {*}
//  */
// func (m *Boss) ticketKafka(topic string) {
// 	for routine.IsRunning() {
// 		m.ticketWork(topic)
// 		time.Sleep(time.Second * 5)
// 	}
// }

// // 消费工作者线程
// func (m *Boss) ticketWork(topic string) {
// 	defer exception.CatchException()
// 	groupID := config.String("kafka_group_ticket") + "_" + "op_ticker"
// 	reader := kafka.NewReader(topic, groupID)
// 	defer reader.Close()
// 	for routine.IsRunning() {
// 		fetches := reader.PollFetches(context.Background())
// 		if fetches.IsClientClosed() {
// 			return
// 		}
// 		fetches.EachError(func(t string, p int32, err error) {
// 			logs.Warn(t, p, err)
// 		})

// 		fetches.EachRecord(func(r *kgo.Record) {
// 			var task TicketTask
// 			err := json.Unmarshal(r.Value, &task)
// 			if err != nil {
// 				logs.Warn(err)
// 				if err := reader.CommitRecords(context.Background(), r); err != nil {
// 					logs.Warn("commit records failed: ", err)
// 				}
// 				return
// 			}
// 			err = m.dowithTicketTask(&task)
// 			if err != nil {
// 				return
// 			}
// 			if err := reader.CommitRecords(context.Background(), r); err != nil {
// 				logs.Warn("commit records failed: ", err)
// 			}
// 		})
// 	}
// 	logs.Info("退出kafka读取功能")
// }
